package ojt.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import ojt.exception.NotLoginedException;

/**
 * Servlet implementation class OJTServlet
 */
@WebServlet("/OJTServlet" )
public class OJTServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public OJTServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
    
    /**
     * ログイン確認メソッド
     * セッションを取得し、リクエストを送ってきたクライアントがログイン済みかどうかを判定する
     * @param HttpServletRequest request
     * @throws NotLoginedException ログインしていない
     */
    public void isLogined(HttpServletRequest request) throws NotLoginedException{
    	//セッションを確認
		HttpSession session = request.getSession(true);

		//ログインしていない場合、ログイン例外をスローする
		if(session.getAttribute("loginFlag") != "true"){
			throw new NotLoginedException("ログインしていません");
		}
    }
    
    /**
     * 指定されたJSPファイルへのforwardを行うメソッド
     * @param HttpServletRequest request
     * @param HttpServletResponse response
     * @param toURL JSPファイル名(パスは指定しなくて良い）
     * @throws ServletException
     * @throws IOException
     */
    public void forwardToJSP(HttpServletRequest request, HttpServletResponse response, String toURL)throws ServletException, IOException{
    	this.getServletContext().getRequestDispatcher("/WEB-INF/pages/" + toURL).forward(request, response);
    }
}
